/* 
 * Autores:
 *      Jonathan Lopez  11106
 *      Jorge Martínez  11237
 * 
 * Archivo: iArchivable.java
 * Última Revision: $Rev: 37 $
 *      Fecha: $Date: 2011-09-01 06:28:41 +0000 (Thu, 01 Sep 2011) $
 */ 

package Archivador;

/**
 * Representa cualquier objeto que se pueda archivar como texto plano
 * 
 * @author Jonathan López
 * @author Jorge Martinez
 */
public interface iArchivable {
    /**
     * Separador a utilizar para separar los distintos elementos dentro
     * de un objeto. Ejemplo: "[Elemento1" + separador + "Elemento2...]"
     */
    public static final String separador = "~";
    /**
     * Separador a utilizar para separar los objetos que representan a una
     * misma instancia de una clase. Ejemplo: "[Objeto1]" + separadorObjetos +
     * "[Objeto2]..."
     */
    public static final String separadorObjetos = "##";
    
    /**
     * Esta función debe de regresar una línea que pueda ser guardada en un
     * medio persistente. La clase tiene que definir su propia forma de 
     * interpretar esta línea de regreso para formar una nueva instancia a 
     * partir de la misma.
     * 
     * @return String con la línea de texto que representa la instancia
     */
    public String guardar();
}

